﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls.Primitives;

namespace BGYXControlLibrary
{
    public class BGYX_ToggleButton : ToggleButton
    {

        public new double Width
        {
            get { return (double)GetValue(WidthProperty); }
            set { SetValue(WidthProperty, value); }
        }

        public static new readonly DependencyProperty WidthProperty = DependencyProperty.Register(
          "Width",
          typeof(double),
          typeof(BGYX_ToggleButton),
          new FrameworkPropertyMetadata(0d)
        );

        public new double Height
        {
            get { return (double)GetValue(HeightProperty); }
            set { SetValue(HeightProperty, value); }
        }

        public static new readonly DependencyProperty HeightProperty = DependencyProperty.Register(
          "Height",
          typeof(double),
          typeof(BGYX_ToggleButton),
          new FrameworkPropertyMetadata(0d)
        );

        public new double MinWidth
        {
            get { return (double)GetValue(MinWidthProperty); }
            set { SetValue(MinWidthProperty, value); }
        }

        public static new readonly DependencyProperty MinWidthProperty = DependencyProperty.Register(
          "MinWidth",
          typeof(double),
          typeof(BGYX_ToggleButton),
          new FrameworkPropertyMetadata(0d)
        );

        public new double MinHeight
        {
            get { return (double)GetValue(MinHeightProperty); }
            set { SetValue(MinHeightProperty, value); }
        }

        public static new readonly DependencyProperty MinHeightProperty = DependencyProperty.Register(
          "MinHeight",
          typeof(double),
          typeof(BGYX_ToggleButton),
          new FrameworkPropertyMetadata(0d)
        );

        public new double MaxWidth
        {
            get { return (double)GetValue(MaxWidthProperty); }
            set { SetValue(MaxWidthProperty, value); }
        }

        public static new readonly DependencyProperty MaxWidthProperty = DependencyProperty.Register(
          "MaxWidth",
          typeof(double),
          typeof(BGYX_ToggleButton),
          new FrameworkPropertyMetadata(0d)
        );

        public new double MaxHeight
        {
            get { return (double)GetValue(MaxHeightProperty); }
            set { SetValue(MaxHeightProperty, value); }
        }

        public static new readonly DependencyProperty MaxHeightProperty = DependencyProperty.Register(
          "MaxHeight",
          typeof(double),
          typeof(BGYX_ToggleButton),
          new FrameworkPropertyMetadata(0d)
        );

        static BGYX_ToggleButton()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(BGYX_ToggleButton), new FrameworkPropertyMetadata(typeof(BGYX_ToggleButton)));
        }
    }
}
